#include <stdio.h>
#include <stdlib.h>
int set();
int initiation();
int qipan[8][8]={0},bx[8]={0},by[8]={0};
int main(){
	int n,x=0,y=0;
    qipan[y][x]=99;    
    srand(time(NULL));
	set();
    for(y=0;y<8;y++){
		for(x=0;x<8;x++){
			if(qipan[y][x]==0)printf(". ");
            else printf("* ");
        }printf("\n");
    }getch();   
}
int set(){
	int y,x,i,max=0,n=0;
 c:   //k=1:y3=x0+y0-x,k=-1:y4=x+y0-x0;
	for(n=1;n<8;n++){
		while(1){
			x=rand()%8,y=rand()%8;
			max++;
            if(max==99){
				initiation();
                max=0;goto c;                
            }
            for(i=0;i<8;i++){
				if(x==bx[i] || y==by[i])break;
				if(y==bx[i]+by[i]-x || y==x+by[i]-bx[i])break;
                if(i==7)goto a;
            }        
        }
a:	 bx[n]=x,by[n]=y; 
	 qipan[y][x]=n;    
    }
 }
int initiation(){
	int x,y;
	for(y=0;y<8;y++){
		for(x=0;x<8;x++) qipan[y][x]=0;
        bx[y]=0,by[y]=0;
    }qipan[0][0]=99;
}
